using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Criterion;
using Didsoft.DataAccess.NHibernate;
using Didsoft.DataAccess.Contracts;
using Boa.HD.AccesoDatos.Entidades;
using Boa.HD.AccesoDatos.Contratos;

namespace Boa.HD.AccesoDatos.Contexto
{
   public class HD_EstadoTrabajoAccesoDatos : DataAccessBase<HD_EstadoTrabajo>, IHD_EstadoTrabajoAccesoDatos
   {
     public HD_EstadoTrabajoAccesoDatos()
     {
     }
     
     /// <summary>
     /// Devuelve una lista IList<HD_EstadoTrabajo> con todas las ocurrencias encontradas, en base a filtro.
     /// </summary>
     /// <param name="filtro"></param>
     /// <returns></returns>
     public IList<HD_EstadoTrabajo> BuscarPorFiltro(string filtro)
     {
             ICriteria criteria = Session.CreateCriteria(typeof(HD_EstadoTrabajo));
             criteria.Add(Expression.Like("Nombre", filtro+"%"));
             criteria.AddOrder(new Order("Enumerador",true));
             return criteria.List<HD_EstadoTrabajo>();
     }
   }
}

